/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.femass.view;

import com.femass.controller.GestaoAvaliacao;
import com.femass.model.Artigo;
import com.femass.model.Avaliacao;
import com.femass.model.AvaliacaoPK;
import com.femass.model.Revisor;
import com.femass.util.FacesUtil;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;

/**
 *
 * @author daureo
 */
@ManagedBean
public class NovaAvaliacaoBean {
    
    private GestaoAvaliacao gestaoAvaliacao = new GestaoAvaliacao();

   private Artigo artigoSelecionado;
   private Revisor revisorSelecionado;
   private AvaliacaoPK avaliacaoPK = new AvaliacaoPK();
   private Avaliacao avaliacao = new Avaliacao();
   
   public void salvar(){
       
      try{  
        this.avaliacao.setAvaliacaoPK(this.avaliacaoPK);
        this.avaliacao.setArtigo(this.artigoSelecionado);
        this.avaliacao.setRevisor(this.revisorSelecionado);
        this.avaliacaoPK.setArtigocod(this.avaliacao.getArtigo().getCod());
        this.avaliacaoPK.setRevisorcod(this.avaliacao.getRevisor().getCod());
                
        this.gestaoAvaliacao.salvar(this.avaliacao);
      } catch (Exception e){
          FacesUtil.adicionarMensagem(FacesMessage.SEVERITY_FATAL, "Ocorreu um erro na avaliação. Por favor, tente novamente!");
      } finally {
      
        this.artigoSelecionado = null;
        this.revisorSelecionado = null;
        
      }
   }

    public Artigo getArtigoSelecionado() {
        return artigoSelecionado;
    }

    public void setArtigoSelecionado(Artigo artigoSelecionado) {
        this.artigoSelecionado = artigoSelecionado;
    }

    public Revisor getRevisorSelecionado() {
        return revisorSelecionado;
    }

    public void setRevisorSelecionado(Revisor revisorSelecionado) {
        this.revisorSelecionado = revisorSelecionado;
    }

    public AvaliacaoPK getAvaliacaoPK() {
        return avaliacaoPK;
    }

    public void setAvaliacaoPK(AvaliacaoPK avaliacaoPK) {
        this.avaliacaoPK = avaliacaoPK;
    }
   
   

   
}
